#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<limits.h>
typedef struct node
{
	double x;
	double y;
}node;

int main()
{
	int n = 0;
	double x = 0, y = 0;
	while (scanf("%d", &n) != EOF)
	{
		node nodes[n];
		for(int i=0;i<n;i++)
			scanf("%lf%lf", &nodes[i].x, &nodes[i].y);
		double min = INT_MAX;
		for (int i = 0; i < n; i++)
		{
			for (int j = i + 1; j < n; j++)
			{
				double tmp = pow(nodes[i].x - nodes[j].x, 2) + pow(nodes[i].y - nodes[j].y, 2);
				if (tmp < min)
					min = tmp;
			}
		}
		printf("%.1f\n", sqrt(min));
	}
	return 0;
}
